import Vue from "vue"
import "./plugins/axios"
import App from "./App.vue"
import router from "./router"
// import "./plugins/element.js"
// 导入 字体图标
import "./assets/fonts/iconfont.css"
// 导入全局样式表
import "./assets/css/global.css"
// 引入第三方树形组件
import TreeTable from "vue-table-with-tree-grid"

// 导入富文本编辑器
import VueQuillEditor from "vue-quill-editor"
// 导入样式
// import "quill/dist/quill.core.css" // import styles
// import "quill/dist/quill.snow.css" // for snow theme
// import "quill/dist/quill.bubble.css" // for bubble theme

// 导入对应的 js 和 css
import NProgress from "nprogress"
// import "nprogress/nprogress.css"

// 引入 axios
import axios from "axios"
// 配置请求的根路径
axios.defaults.baseURL = "http://127.0.0.1:8888/api/private/v1/"
// 在 request 拦截器中，展示进度条 NProgress.start();
axios.interceptors.request.use(config => {
  // console.log(config)
  NProgress.start()
  config.headers.Authorization = window.sessionStorage.getItem("token")
  // 在最后必须 return config
  return config
})
// 在 response 拦截器中，隐藏进度条 NProgress.done();
axios.interceptors.response.use(config => {
  NProgress.done()
  return config
})
Vue.prototype.$http = axios

Vue.config.productionTip = false
Vue.component("tree-table", TreeTable)

Vue.use(VueQuillEditor /* { default global options } */)

Vue.filter("dateFormat", function(origunVal) {
  const dt = new Date(origunVal)

  const y = dt.getFullYear()
  const m = (dt.getMonth() + 1 + "").padStart(2, "0")
  const d = (dt.getDate() + "").padStart(2, "0")

  const hh = (dt.getHours() + "").padStart(2, "0")
  const mm = (dt.getMinutes() + "").padStart(2, "0")
  const ss = (dt.getSeconds() + "").padStart(2, "0")

  return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
})

new Vue({
  router,
  render: h => h(App)
}).$mount("#app")
